.. _cemCfgRingCntr_Get: cemCfgRingCntr_Get ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cemCfgRingCntr_Get ( [in] VT_I4 Channel, [in] VT_I4 TargCntr, [out] VT_PI4 IsEnable, [out] VT_PR8 CntMax) DESCRIPTION ````````````` - cemCfgRingCntr_Get() 함수는 링 카운터 기능의 설정 상태를 반환합니다. PARAMETER ````````````` ▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다. ▶ TargCntr : 링 카운터 기능 대상 카운터를 설정 혹은 반환합니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 (cemCNT_COMM), Command Counter 1 (cemCNT_FEED), Feedback Counter ▶ IsEnable : 링 카운터 기능 활성/비활성 여부를 설정 혹은 반환합니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0 (cemFALSE), 링 카운터 기능을 사용하지 않습니다. 1 (cemTRUE), 링 카운터 기능을 사용합니다. ▶ CntMax : 링 카운터 범위(0~ 359)를 설정 혹은 반환합니다. 링 카운터 기능이 활성화되면 지정한 카운터는 0~CntMax 사이의 값에서만 카운트 됩니다. RETURN VALUE ````````````` .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 수행 실패 0(ERR_NONE), 수행 성공 EXAMPLE ``````````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include “ceSDK.h” #include “ceSDKDef.h” long nAxisNo = 1; // 링 카운터 기능을 설정할 축을 선택합니다. void OnGetRingCounter () { long nIsEnable; // 링 카운터 설정 정보. double fCntMax; /* 커맨드 카운터를 대상으로 링카운터 기능을 활성화합니다. 40000펄스가 되면 커맨드 카운터가 다시 ‘0’부터 카운트 됩니다.*/ cemCfgRingCntr_Get ( nAxisNo, // 대상 축 설정 cemCNT_COMM, // 링 카운터 대상 카운터 설정 CE_TRUE, // 링 카운터 기능 활성/비활성 설정 40000 // 링 카운터 범위 설정 ); // 해당 축의 링카운터 설정 상태를 반환합니다. cemCfgRingCntr_Get ( nAxis, cemCNT_COMM, &nIsEnable, &fCntMax ); } void OnMove () { /* 링 카운터 범위가 ‘0 ~ 40000’으로 설정되어 있으므로 Command Count 값이 40000 이 되면 자동으로 0 에서 Command Count 를 계수 합니다. */ cemSxVMoveStart ( nAxisNo ); } .. code-block:: c++ :linenos: Visual Basic Dim nAxisNo As Long ‘ 링 카운터 기능을 설정할 축을 선택합니다. nAxisNo = 1 Private Sub OnGetRingCounter () Dim nIsEnable As Long ‘ 링 카운터 설정 정보. Dim fCntMax As Double ‘ 커맨드 카운터를 대상으로 링카운터 기능을 활성화합니다. ‘ 40000 펄스가 되면 커맨드 카운터가 다시 ‘0’부터 카운트 됩니다. Call cemCfgRingCntr_Get ( nAxisNo, cemCNT_COMM, CE_TRUE, 40000 ) ‘ 해당 축의 링카운터 설정 상태를 반환합니다. Call cemCfgRingCntr_Get ( nAxis, cemCNT_COMM, nIsEnable, fCntMax ) End Sub Private Sub OnMove () ‘ 링 카운터 범위가 ‘0 ~ 40000’으로 설정되어 있으므로 Command Count 값이 40000 이 되면 ‘ 자동으로 0 에서 Command Count 를 계수 합니다. Call cemSxVMoveStart ( nAxisNo ) End Sub .. code-block:: c++ :linenos: Delphi procedure OnGetRingCounter (); var nIsEnable : LongInt; fCntMax : Double; // 링 카운터 설정 정보. begin { 커맨드 카운터를 대상으로 링카운터 기능을 활성화합니다. 40000 펄스가 되면 커맨드 카운터가 다시 ‘0’부터 카운트 됩니다. } cemCfgRingCntr_Get ( cemX1, cemCNT_COMM, CE_TRUE, 40000 ); // 해당 축의 링카운터 설정 상태를 반환합니다. cemCfgRingCntr_Get ( cemX1, cemCNT_COMM, @nIsEnable, @fCntMax ); end; procedure OnMove (); begin { 링 카운터 범위가 ‘0 ~ 40000’으로 설정되어 있으므로 Command Count 값이 40000 이 되면 자동으로 0 에서 Command Count 를 계수 합니다. } cemSxVMoveStart ( cemX1 ); end;